# Contributing to Monitorian

Thanks to your interest in contributing to this project.

## 1. General

- <ins>Read through readme</ins> before posting. Avoid asking questions that are already covered in readme.

- <ins>Be prepared to respond to any request</ins> after opening an issue, request or suggestion. In most cases, you will be requested to provide additional information.

- Do not send a comment by email. It will produce a lot of garbage and make it hard to read.

## 2. Issues

- Check [Detection of external monitors](https://github.com/emoacht/Monitorian#detection-of-external-monitors) and [Reporting](https://github.com/emoacht/Monitorian#reporting).

- Search [Issues](https://github.com/emoacht/Monitorian/issues) to date. To search open and closed issues at once, remove `is:open` from default syntax in Filters box and use only `is:issue` syntax.

- Include all information necessary for a reader who has no knowledge about your monitor or other devices to understand and reproduce the issue.

- Add __probe.log__ and __operation.log__. A video clip is not very helpful because it will not provide information about what is happening internally.

- An issue which includes no meaningful clue CAN BE CLOSED without review.

## 3. Feature requests or suggestions

- Do not open feature requests or suggestions in __Ideas__ of __Discussions__ in this project. This is for aggregating them in __Issues__.

- Search [Issues](https://github.com/emoacht/Monitorian/issues) to date.

- This app's main focus and competence is brightness of monitors. This app uses DDC/CI for this purpose, and not vice versa. The importance for keeping focused cannot be overemphasized.

- <ins>Explain the necessity and added value of the feature.</ins> Describe how it would be useful in real-world scenarios or use cases. An existing feature of other apps is not a sufficient reason to include the same to this app.

- Include technical information to implement the feature as much as possible. A feature which is not technically feasible cannot be added anyways.

- A feature request or suggestion which is the same as already discussed CAN BE CLOSED without review.

## 4. Pull requests

### 4.1 PR for language

- Read [Globalization](https://github.com/emoacht/Monitorian#globalization) in readme.
- Use phrases used by the OS as much as possible.
- Do not try to explain everything. You cannot create a flawless expression in a short sentence like menu item.
- Do not edit the readme.

### 4.2 PR for functionality

- <ins>Open an issue and get agreement for your proposed change before starting your work.</ins>
- Split the changes into dedicated commits based on their reasons and objectives. Avoid adding unrelated changes into a commit.
- It is recommended to use the latest features of C#, provided that they are supported in this project.
